Memory devices, such as RAM, flash memory, and hard disk drives, can contain storage errors. These errors can result from physical factors of the memory device or other factors. Memory errors can lead to erroneous data being read from the memory device, and frequent or repeated errors can result in poor device operation.
In order to reduce the impact of memory storage errors, a device can employ error correction techniques. For example, a memory device can store error correction code (ECC) data for memory locations in the memory device. The ECC data contains parity or other data that allows the device to detect errors. In addition, the ECC data can contain error correction data that allows the device to correct detected errors.
While memory error correction techniques can improve memory reliability, the techniques also consume device resources, such as power and the response time of the device. The consumption of the resources may be undesirable in some applications, such as in portable or other low-power devices.
Some devices, in order to improve memory reliability, employ a scheme wherein after a reset event (such a reset, power-on, or other event) the memory is filled with a predetermined sequence of data, and ECC data is calculated for the memory based on this predetermined sequence. However, this scheme can result in undesirable delay after a reset event, as well as undesirable consumption of power after the reset event. This power consumption may be especially undesirable in portable devices, or devices that frequently experience reset events.
Therefore, it is desirable to provide a device that performs error correction without consuming an undesirable amount of device resources.
The use of the same reference symbols in different drawings indicates similar or identical items.